Recently, computers and their associated peripheral equipment (a computer system) have become increasing more complex. As such, it has become progressively more and more complicated for a user or system administrator to manage the resources of such a computer system. With a variety of peripheral devices and software applications available for use, and their ever-changing nature, the job of a system administrator has become more difficult. Computer system resources such as attached devices, network connections, software applications, etc., must all be managed to ensure an efficiently working system for the user. Within a large corporation having large numbers of such computer systems spread around the world, the task of managing the resources of each computer system can be daunting.
Recently, the industry has responded to such a need by introducing Web-Based Enterprises Management (WBEM) which is both an initiative and a technology. As an initiative, WBEM includes a standard for managing systems, networks, users, and applications by using Internet technology. As a technology, WBEM provides a way for management applications to share management data independently of vendor, protocol, operating system, or management standard. By developing management applications according to WBEM principles, vendors can develop products that work together easily at a lower cost of development.
One known standard for implementation of WBEM is the Common Information Model (CIM). CIM is an approach to managing systems and networks. CIM provides a common conceptual framework to classify and define the parts of a network environment and depict how they integrate. The model captures notions that are applicable to all areas of management, independent of technology implementation.
WBEM software includes tools and technology that software developers can use to create CIM-compliant software applications that manage the environment of a computer system. Developers can also use this software to write “providers,” programs that supply data and events for managed objects that are specific to their domain.
There can be drawbacks, however, associated with various implementations of WBEM software. For example, it may be necessary for the object manager of a computer system to be able to access different types of databases, whether local or remote. Not all implementations, however, are well-suited for this type of access.
FIG. 1 illustrates a prior art computer system 10 that has resources to be managed. Resources include disk usage, CPU utilization, running applications, etc. Not shown for simplicity are hardware components of the computer system or other software applications. A CIM object manager 20 is responsible for handling all communication between management applications, a CIM repository 26 and managed objects. In this example, CIM repository 26 is a local drive that communicates via a local connection 28 to object manager 20. A provider application programming interface (API) 22 provides an interface to any needed system information 24 to be provided to object manager 20. Object manager 20 may also access CIM repository 26 over local connection 28 to quickly retrieve data objects that have been previously stored. In this fashion, object manager 20 is well-suited for gathering resource information regarding computer system 10.
In order to efficiently manage the resources of computer system 10, a software developer 30 writes management application software 32 for managing the resources of the computer system. When in operation, the results of management application 32 may be used by a system administrator 40 to manage the computer system. Client application 32 communicates via a Client API 34 to retrieve resource information from computer system 10. Client API 34 uses any suitable local or remote network connection 36 to access object manager 20.
Prior art implementations of this sort use a single protocol for communication from object manager 20 to CIM repository 26 over local connection 28. Such an implementation is inflexible in that the object manager commands to repository 26 are dependent upon a single protocol. In other words, the commands are not independent of the protocol; should the protocol be modified or if another protocol be used or desired, it will be necessary to rewrite portions of object manager 20 which would be undesirable.
In addition, having an object manager that is depended upon a particular protocol presents difficulties when repository 26 is remote from object manager 20. In this scenario, it may be desirable to communicate over a network connection using any of a variety of protocols instead of always being required to use a local protocol. In prior art computer system 10 portions of object manager 20 would have to be rewritten for each and every different protocol that is desired to be used.
Therefore, a technique is desired that would permit an object manager to communicate both locally and remotely with any number of repositories using any of a variety of protocols. It is desired to implement this technique with the least impact upon developers of object manager software.